package com.gitee.kamismile.stone.basic.data.domain.sysdic.repository.entity;

import net.sf.json.JSONObject;
import org.springframework.data.annotation.Id;
import org.springframework.data.relational.core.mapping.Table;

import java.util.Date;
import java.util.Objects;

@Table(name = "sys_dictionary_define")
public class SysDictionaryDefine {
    @Id
    private Long nSysDictionaryDefineId;
    private String sCode;
    private String sValue;
    private Integer nOrder;
    private Integer nState;
    private String sDesc;
    private JSONObject sJson;
    private String sPath;
    private Long nParentSysDictionaryDefineId;
    private Integer nSysDictionaryId;
    private Integer nTenantId;
    private Integer nCreateBy;
    private Integer nUpdateBy;
    private Date dCreateTime;
    private Date dUpdateTime;

    public Long getnSysDictionaryDefineId() {
        return nSysDictionaryDefineId;
    }

    public void setnSysDictionaryDefineId(Long nSysDictionaryDefineId) {
        this.nSysDictionaryDefineId = nSysDictionaryDefineId;
    }

    public String getsCode() {
        return sCode;
    }

    public void setsCode(String sCode) {
        this.sCode = sCode;
    }

    public String getsValue() {
        return sValue;
    }

    public void setsValue(String sValue) {
        this.sValue = sValue;
    }

    public Integer getnOrder() {
        return nOrder;
    }

    public void setnOrder(Integer nOrder) {
        this.nOrder = nOrder;
    }

    public Integer getnState() {
        return nState;
    }

    public void setnState(Integer nState) {
        this.nState = nState;
    }

    public String getsDesc() {
        return sDesc;
    }

    public void setsDesc(String sDesc) {
        this.sDesc = sDesc;
    }

    public JSONObject getsJson() {
        return sJson;
    }

    public void setsJson(JSONObject sJson) {
        this.sJson = sJson;
    }

    public String getsPath() {
        return sPath;
    }

    public void setsPath(String sPath) {
        this.sPath = sPath;
    }

    public Long getnParentSysDictionaryDefineId() {
        return nParentSysDictionaryDefineId;
    }

    public void setnParentSysDictionaryDefineId(Long nParentSysDictionaryDefineId) {
        this.nParentSysDictionaryDefineId = nParentSysDictionaryDefineId;
    }

    public Integer getnSysDictionaryId() {
        return nSysDictionaryId;
    }

    public void setnSysDictionaryId(Integer nSysDictionaryId) {
        this.nSysDictionaryId = nSysDictionaryId;
    }

    public Integer getnTenantId() {
        return nTenantId;
    }

    public void setnTenantId(Integer nTenantId) {
        this.nTenantId = nTenantId;
    }

    public Integer getnCreateBy() {
        return nCreateBy;
    }

    public void setnCreateBy(Integer nCreateBy) {
        this.nCreateBy = nCreateBy;
    }

    public Integer getnUpdateBy() {
        return nUpdateBy;
    }

    public void setnUpdateBy(Integer nUpdateBy) {
        this.nUpdateBy = nUpdateBy;
    }

    public Date getdCreateTime() {
        return dCreateTime;
    }

    public void setdCreateTime(Date dCreateTime) {
        this.dCreateTime = dCreateTime;
    }

    public Date getdUpdateTime() {
        return dUpdateTime;
    }

    public void setdUpdateTime(Date dUpdateTime) {
        this.dUpdateTime = dUpdateTime;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        SysDictionaryDefine that = (SysDictionaryDefine) o;
        return Objects.equals(nSysDictionaryDefineId, that.nSysDictionaryDefineId) && Objects.equals(sCode, that.sCode) && Objects.equals(sValue, that.sValue) && Objects.equals(nOrder, that.nOrder) && Objects.equals(nState, that.nState) && Objects.equals(sDesc, that.sDesc) && Objects.equals(sJson, that.sJson) && Objects.equals(sPath, that.sPath) && Objects.equals(nParentSysDictionaryDefineId, that.nParentSysDictionaryDefineId) && Objects.equals(nSysDictionaryId, that.nSysDictionaryId) && Objects.equals(nTenantId, that.nTenantId) && Objects.equals(nCreateBy, that.nCreateBy) && Objects.equals(nUpdateBy, that.nUpdateBy) && Objects.equals(dCreateTime, that.dCreateTime) && Objects.equals(dUpdateTime, that.dUpdateTime);
    }

    @Override
    public int hashCode() {
        return Objects.hash(nSysDictionaryDefineId, sCode, sValue, nOrder, nState, sDesc, sJson, sPath, nParentSysDictionaryDefineId, nSysDictionaryId, nTenantId, nCreateBy, nUpdateBy, dCreateTime, dUpdateTime);
    }
}
